home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib11.dsk / APPLE BOWL FOOTBALL.bas next >
BASIC Source File  |  2023-02-26  |  28KB  |  515 lines

  1. 10  REM  **********************
  2. 20  REM  * APPLE FOOTBALL 3.0 *
  3. 30  REM  *                    *
  4. 40  REM  * BY PRESTON BLACK   *
  5. 50  REM  * AND RICHARD MORRIS *
  6. 60  REM  *                    *
  7. 70  REM  * COPYRIGHT (C) 1982 *
  8. 80  REM  * BY MICRO-SPARC INC *
  9. 90  REM  * LINCOLN, MA. 01773 *
  10. 100  REM **********************
  11. 110  DEF  FN Z(X) =  INT(X *100 +.5)/ INT(100.5)
  12. 120  DIM DS(9),SUB(2)
  13. 130 W1$ = "GAINS":W2$ = "LOSES"
  14. 140  DIM FIRST(2),ZPLAY(2),RUSH(2),PASS(2),PUNT(2),YPUNT(2),FLD(2),MADE(2),XPUNT(2),FUM(2),RECO(2),NENT(2),NPEN(2),PPEN(2),LOSS(2),COMP(2),YRUSH(2),RPASS(2),PLAY$(15),TEAM$(2),SCR(4,2),TMOUT(2),DFEN$(10),YARD(2),PDN(2)
  15. 150  DIM KZ(4,3),VSAK(2)
  16. 160  DEF  FN A(X) =  INT(X * RND(1)) +1: DEF  FN B(X) = (X/2) -( INT(X/2))
  17. 170  FOR I = 1 TO 12: READ PLAY$(I): NEXT : DATA  LPASS,SPASS,SCRN,MRUN,DRAW,SWEEP,OTRUN,PUNT,QKKIK,FLDGL,TMOUT,STAT
  18. 180  FOR I = 1 TO 3: FOR J = 1 TO 4: READ KZ(J,I): NEXT J: NEXT I: DATA  4,2,2,3,4,3,5,4,4,10,8,6
  19. 190  FOR I = 1 TO 2:RUSH(I) = 0:FUM(I) = 0:RECO(I) = 0:NENT(I) = 0:PASS(I) = 0:COMP(I) = 0:LOSS(I) = 0:YRUSH(I) = 0:RPASS(I) = 0:FIRST(I) = 0:YPUNT(I) = 0:XPUNT(I) = 0:FLD(I) = 0:MADE(I) = 0:NPEN(I) = 0:PPEN(I) = 0: NEXT 
  20. 200  FOR I = 1 TO 2:VSAK(I) = 0: NEXT 
  21. 210  GOTO 4770
  22. 220  REM 
  23. 230  REM  ***SCOREBOARD***
  24. 240  REM 
  25. 250  SPEED= 255: TEXT : HOME : HTAB 15: PRINT "SCOREBOARD"
  26. 260 NMIN =  INT(ITIME/60):NSEC =  INT(ITIME -(NMIN *60))
  27. 270  VTAB 3: HTAB 17
  28. 280  IF ITIME >0  THEN 300
  29. 290  PRINT " 0:00": GOTO 330
  30. 300  IF NMIN <10  THEN  PRINT " ";
  31. 310  PRINT NMIN;":";: IF NSEC <10  THEN  PRINT "0";
  32. 320  PRINT NSEC
  33. 330  VTAB 6: FOR I = 1 TO 4:DS = 8 +4 *I: IF I = QTR  THEN  FLASH 
  34. 340  HTAB DS: PRINT I;: NORMAL : NEXT : PRINT  TAB( 28);"TOTAL"
  35. 350  FLASH : VTAB 8: IF AN = 1  THEN  PRINT "*";:
  36. 360  NORMAL : PRINT  TAB( 2);TEAM$(1);: FOR I = 1 TO 4:DS = 8 +4 *I: PRINT  TAB( DS);SCR(I,1);: NEXT : PRINT  TAB( 29);L1
  37. 370  FLASH : IF AN = 2  THEN  PRINT "*";
  38. 380  NORMAL : PRINT  TAB( 2);TEAM$(2);: FOR I = 1 TO 4:DS = 8 +4 *I: PRINT  TAB( DS);SCR(I,2);: NEXT : PRINT  TAB( 29);L2
  39. 390  VTAB 11: PRINT "BALL ON THE ";TEAM$(YARD(1));" ";YARD(2);" YARD LINE"
  40. 400  VTAB 13: PRINT "DOWN=";DOWN; TAB( 20);YSTGO;"YARDS TO GO"
  41. 410  VTAB 15: PRINT "----------------------------------------"
  42. 420  POKE 34,16: VTAB 24: SPEED= ISPD: RETURN 
  43. 430  REM 
  44. 440  REM  ***SCOREBOARD UPDATER***
  45. 450  REM 
  46. 460 NMIN =  INT(ITIME/60):NSEC =  INT(ITIME -(NMIN *60))
  47. 470  SPEED= 255: IF ITIME >0  THEN 490
  48. 480  VTAB 3: HTAB 18: PRINT "0:00": GOTO 600
  49. 490  VTAB 3: HTAB 17: IF NMIN <10  THEN  PRINT " ";
  50. 500  PRINT NMIN;":";: IF NSEC <10  THEN  PRINT "0";
  51. 510  PRINT NSEC: VTAB 24: GOTO 600
  52. 520  SPEED= 255: VTAB 6:DS = 8 +4 *(QTR -1): PRINT  TAB( DS);(QTR -1);:DS = 8 +4 *QTR: FLASH : PRINT  TAB( DS);QTR: NORMAL : VTAB 24: GOTO 600
  53. 530  SPEED= 255: ON AN GOTO 540,550
  54. 540  VTAB 8: FLASH : PRINT "*": NORMAL : VTAB 9: PRINT " ": GOTO 600
  55. 550  VTAB 8: PRINT " ": VTAB 9: FLASH : PRINT "*": NORMAL : GOTO 600
  56. 560 DS = 8 +4 *QTR: VTAB 8: HTAB DS: PRINT SCR(QTR,1);: HTAB 29: PRINT L1: VTAB 9: HTAB DS: PRINT SCR(QTR,2);: HTAB 29: PRINT L2: GOTO 600
  57. 570  SPEED= 255: VTAB 11: HTAB 13: PRINT  TAB( 27): VTAB 11: HTAB 13: PRINT TEAM$(YARD(1));" ";YARD(2);" YARD LINE     "
  58. 580  VTAB 13: HTAB 6: PRINT DOWN;: HTAB 20: IF YSTGO <10  THEN  PRINT " ";
  59. 590  PRINT  TAB( 15): HTAB 13: HTAB 20: PRINT YSTGO;" YARDS TO GO     "
  60. 600  SPEED= ISPD: VTAB 24: RETURN 
  61. 610  REM 
  62. 620  REM  ***BONUS***
  63. 630  REM 
  64. 640 XRAN =  RND(2):DS(1) = 10: FOR I = 2 TO 9:DS(I) = DS(I -1) +5: NEXT 
  65. 650  IF XRAN *20 > = 1  THEN 750
  66. 660 NB = 1: IF XRAN *30 < = 1  THEN NB = 2
  67. 670  IF XRAN *40 < = 1  THEN NB = 3
  68. 680  IF XRAN *50 < = 1  THEN NB = 4
  69. 690  IF XRAN *60 < = 1  THEN NB = 5
  70. 700  IF XRAN *70 < = 1  THEN NB = 6
  71. 710  IF XRAN *80 < = 1  THEN NB = 7
  72. 720  IF XRAN *90 < = 1  THEN NB = 8
  73. 730  IF XRAN *100 < = 1  THEN NB = 9
  74. 740 BNUS = DS(NB):XRAN = 0: GOTO 760
  75. 750 BNUS = 0:XRAN = 0
  76. 760  RETURN 
  77. 770  REM 
  78. 780  REM  ***FUMBLE***
  79. 790  REM 
  80. 800 CHANCE =  FN A(100): IF CHANCE < = 1  THEN 820
  81. 810 FUMBL = 0:RECOV = 0: GOTO 890
  82. 820 FUMBL = 1:FUM(AN) = FUM(AN) +1: PRINT : PRINT TEAM$(AN);" FUMBLES!!!"
  83. 830 RECOV =  FN A(2): IF RECOV = AN  THEN 870
  84. 840 SET = AN:AN = OFF:OFF = SET:NPLY = NPLY +1:ITIME = ITIME -5:DOWN = 1:YSTGO = 10
  85. 850  IF YARD(1) < >AN  AND YARD(2) <10  THEN YSTGO = YARD(2)
  86. 860  GOTO 880
  87. 870 FUMBL = 0:RECO(AN) = RECO(AN) +1:RECOV = 0
  88. 880  PRINT : PRINT TEAM$(AN);" RECOVERS!!!": PRINT : PRINT "BALL ON THE ";TEAM$(YARD(1));" ";YARD(2);" YARD LINE"
  89. 890  RETURN 
  90. 900  REM 
  91. 910  REM  ***PENALTY***
  92. 920  REM 
  93. 930 KFIRST = 0:CHANCE =  FN A(100): IF CHANCE < = 5  THEN 950
  94. 940 PENALT = 0: RETURN 
  95. 950 YFIX =  FN A(100):YDS = 5: IF YFIX >66  THEN YDS = 15
  96. 960 XTM =  FN A(2)
  97. 970  IF XTM = OFF  THEN 1070
  98. 980  IF YARD(1) = OFF  THEN 1030
  99. 990  IF YARD(2) >20  THEN 1020
  100. 1000 XDS =  INT(YARD(2)/2): IF YDS = 5  AND XDS <5  THEN YDS = XDS
  101. 1010  IF YDS = 15  THEN YDS = XDS
  102. 1020 YARD(2) = YARD(2) -YDS: GOTO 1160
  103. 1030  IF YARD(2) >35  THEN 1050
  104. 1040 YARD(2) = YARD(2) +YDS: GOTO 1160
  105. 1050  IF YARD(2) < = 45  AND YDS = 5  THEN 1040
  106. 1060 YARD(1) = AN:YARD(2) = 50 -(YARD(2) +YDS -50): GOTO 1160
  107. 1070  IF YARD(1) = AN  THEN 1120
  108. 1080  IF YARD(2) >20  THEN 1110
  109. 1090 XDS =  INT(YARD(2)/2): IF YDS = 5  AND XDS <5  THEN YDS = XDS
  110. 1100  IF YDS = 15  THEN YDS = XDS
  111. 1110 YARD(2) = YARD(2) -YDS: GOTO 1160
  112. 1120  IF YARD(2) >35  THEN 1140
  113. 1130 YARD(2) = YARD(2) +YDS: GOTO 1160
  114. 1140  IF YDS = 5  AND YARD(2) < = 45  THEN 1040
  115. 1150 YARD(1) = OFF:YARD(2) = 50 -(YARD(2) +YDS -50)
  116. 1160 NPEN(XTM) = NPEN(XTM) +1:PPEN(XTM) = PPEN(XTM) +YDS: IF KICK = 1  THEN 1230
  117. 1170  IF XTM = AN  THEN 1220
  118. 1180 YSTGO = YSTGO -YDS:
  119. 1190  IF YSTGO >0  THEN 1230
  120. 1200 DOWN = 1:YSTGO = 10: IF YARD(1) = OFF  AND YARD(2) <10  THEN YSTGO = YARD(2)
  121. 1210 KFIRST = 1:FIRST(AN) = FIRST(AN) +1: GOTO 1230
  122. 1220 YSTGO = YSTGO +YDS
  123. 1230  IF YDS < >5  AND YDS < >15  THEN 1250
  124. 1240  PRINT : PRINT "<<PENALTY ON ";TEAM$(XTM);">>  ";YDS;" YARDS": PRINT "BALL IS PLACED ON THE  ";TEAM$(YARD(1));" ";YARD(2): GOTO 1260
  125. 1250  PRINT : PRINT "<<PENALTY ON ";TEAM$(XTM);">>": PRINT "HALF THE DISTANCE TO THE GOAL LINE!": PRINT "BALL IS PLACE ON THE ";TEAM$(YARD(1));" ";YARD(2)
  126. 1260  PRINT : IF KFIRST = 1  THEN  PRINT "FIRST DOWN FOR ";TEAM$(AN)
  127. 1270  IF ZN = 0  THEN 1290
  128. 1280 DOWN = 1:YSTGO = 10:ZN = 0
  129. 1290  GOSUB 570: POP : GOTO 1580
  130. 1300  FOR I = 1 TO 9: PRINT "*";
  131. 1310  FOR J = 1 TO 10:X =  PEEK( -16336): NEXT J
  132. 1320  NEXT 
  133. 1330  RETURN 
  134. 1340  IF OVT = 1  THEN 1400
  135. 1350 QTR = 1:TMOUT(1) = 3:TMOUT(2) = 3:INCOMP = 0:WARN = 0:TIMSET = 0:ITIME = 900:OVT = 0
  136. 1360 SAFETY = 0: FOR I = 1 TO 4:SCR(I,1) = 0:SCR(I,2) = 0: NEXT 
  137. 1370  REM 
  138. 1380  REM  ***THE KICK OFF***
  139. 1390  REM 
  140. 1400  GOSUB 250: VTAB 24
  141. 1410 YARD(1) = OFF:YARD(2) = 40:THIS = 99:ITIME = ITIME -5:HUDDL = 0:KICK = 1
  142. 1420  GOSUB 530: GOSUB 570: VTAB 24
  143. 1430  PRINT : PRINT TEAM$(OFF);" KICKS OFF AND"
  144. 1440 YDL = 50 -(35 + FN A(18)): IF YDL < = 0  THEN 1540
  145. 1450 IZAL = 20
  146. 1460  IF YDL < = 10  THEN IZAL = IZAL +5
  147. 1470  IF YDL < = 5  THEN IZAL = IZAL +5
  148. 1480  GOSUB 640:RTURN = 5 + FN A(IZAL) +(BNUS *2):ITIME = ITIME -3 -(RTURN/10): IF RTURN > = 100 -YDL  THEN 4020
  149. 1490  IF RTURN +YDL >50  THEN 1510
  150. 1500 YARD(1) = AN:YARD(2) = RTURN +YDL:DOWN = 1:YSTGO = 10: GOTO 1520
  151. 1510 YARD(1) = OFF:YARD(2) = 50 -(RTURN +YDL -50):DOWN = 1:YSTGO = 10: IF YARD(2) <10  THEN YSTGO = YARD(2)
  152. 1520  PRINT : PRINT TEAM$(AN);" RECEIVES THE KICK": PRINT "ON THEIR ";YDL;" YARD LINE": PRINT "AND RUNS IT BACK ";RTURN;" YARDS": PRINT "TO THE  ";TEAM$(YARD(1));" ";YARD(2)
  153. 1530  GOSUB 800: GOSUB 930: GOSUB 530: GOSUB 560: GOSUB 570: GOTO 1580
  154. 1540 YARD(1) = AN:YARD(2) = 20:DOWN = 1:YSTGO = 10: PRINT : PRINT "THE KICK GOES INTO THE END ZONE": PRINT : PRINT "AND "TEAM$(AN);" WILL START": PRINT "FROM THEIR OWN 20 YARD LINE": GOSUB 530: GOSUB 570
  155. 1550  REM 
  156. 1560  REM  ***PLAY ANALYSER***
  157. 1570  REM 
  158. 1580  SPEED= ISPD: POKE 34,16: VTAB 24:KICK = 0: IF DOWN = 5  THEN 3690
  159. 1590  GOSUB 460: VTAB 24
  160. 1600 ZN = 0
  161. 1610  IF AN = 2  THEN 1660
  162. 1620  IF DOWN < >4  THEN 1660
  163. 1630  IF ITIME <60  AND QTR = 4  AND L1 <L2  THEN 1660
  164. 1640  IF YARD(1) = OFF  AND YARD(2) < = 40  THEN 3740
  165. 1650  GOTO 3380
  166. 1660 NPLY = NPLY +1: IF  FN B(QTR) = 0  AND ITIME < = 120  AND WARN = 0  THEN 1680
  167. 1670  GOTO 1690
  168. 1680  PRINT : PRINT ">>> TWO MINUTE WARNING <<<"
  169. 1690  IF  FN B(QTR) = 0  AND ITIME < = 120  THEN WARN = 1
  170. 1700 NET = (SCR(1,1) +SCR(2,1) +SCR(3,1) +SCR(4,1)) -(SCR(1,2) +SCR(2,2) +SCR(3,2) +SCR(4,2))
  171. 1710  IF  FN B(QTR) = 0  AND ITIME < = 120  AND TIMSET = 0  AND NET < = 0  AND AN = 1  AND HUDDL >0  THEN 2000
  172. 1720 INCOMP = 0:TIMSET = 0: POKE 34,16: IF ITIME < = 0  THEN 4180
  173. 1730  IF AN = 2  THEN 1910
  174. 1740  REM 
  175. 1750  REM  ***COMPUTER ON OFFENSE***
  176. 1760  REM 
  177. 1770 TYPE =  FN A(100): IF TYPE < = 25  THEN THIS =  FN A(3)
  178. 1780  IF TYPE >25  THEN THIS =  FN A(4) +3
  179. 1790  IF DOWN = 3  AND YSTGO < = 3  THEN THIS =  FN A(4) +3
  180. 1800  IF DOWN = 3  AND YSTGO >4  THEN THIS =  FN A(2) +1
  181. 1810  IF THIS = 3  THEN THIS =  FN A(2) +1
  182. 1820  IF YARD(1) = OFF  AND YARD(2) <15  AND THIS = 1  THEN THIS = 2
  183. 1830  IF L1 <L2  AND ITIME < = 120  AND  FN B(QTR) = 0  THEN THIS = 2
  184. 1840  IF QTR = 2  AND ITIME < = 120  AND  FN B(QTR) = 0  THEN THIS = 2
  185. 1850  IF QTR = 4  AND L1 +3 =  >L2  AND ITIME <25  AND YARD(1) = OFF  AND YARD(2) < = 40  THEN 3740
  186. 1860  IF  FN B(QTR) = 0  AND ITIME <120  AND YARD(1) = OFF  AND YARD(2) <5  THEN THIS = 4
  187. 1870  PRINT : PRINT TEAM$(1);" CHOOSES ";PLAY$(THIS): GOTO 2060
  188. 1880  REM 
  189. 1890  REM  ***PLAYER ON OFFENSE***
  190. 1900  REM 
  191. 1910  PRINT : INPUT "NEW PLAY ";HPL$: IF HPL$ < >"PLAYS"  THEN 1930
  192. 1920  TEXT : HOME : SPEED= 255: GOTO 4780
  193. 1930  FOR I = 1 TO 15: IF  MID$ (HPL$,1,2) =  MID$ (PLAY$(I),1,2)  THEN 1960
  194. 1940  NEXT 
  195. 1950  PRINT : PRINT "ILLEGAL PLAY, TRY AGAIN!": GOTO 1580
  196. 1960 THIS = I: IF THIS = 10  THEN 3740
  197. 1970  IF THIS = 8  OR THIS = 9  THEN 3390
  198. 1980  IF THIS <11  THEN 2060
  199. 1990  IF THIS >11  THEN 2040
  200. 2000 TIMESET = 1:TMOUT(AN) = TMOUT(AN) -1: IF TMOUT(AN) > = 0  THEN 2030
  201. 2010  PRINT : IF AN = 2  THEN  PRINT "NO MORE TIME-OUTS LEFT"
  202. 2020  GOTO 1580
  203. 2030 HUDDL = 0: PRINT : PRINT "TIME-OUT, ";TMOUT(AN);" LEFT IN THE HALF": GOTO 1580
  204. 2040 THIS = 12:TIMSET = 1
  205. 2050  TEXT : HOME : SPEED= 255: GOTO 4380
  206. 2060 ITIME = ITIME -HUDDL
  207. 2070  IF THIS >3  THEN DFS =  FN A(4) +3
  208. 2080  IF THIS <4  THEN DFS =  FN A(3)
  209. 2090  IF THIS <4  THEN 2460
  210. 2100 SUB(AN) = 0
  211. 2110 SUCC = 1 +( FN A(2) -1): IF THIS = DFS  THEN SUCC =  -2
  212. 2120  REM 
  213. 2130  REM  ***RUN PLAY***
  214. 2140  REM 
  215. 2150 RUSH(AN) = RUSH(AN) +1:ITIME = (ITIME -8) - FN A(10):HUDDL = 20: GOSUB 800: IF FUMBL = 1  THEN 1580
  216. 2160  IF DOWN >2  AND SUCC = 2  THEN SUCC =  -1
  217. 2170  GOSUB 930: GOSUB 640
  218. 2180  IF YARD(2) <10  AND YARD(1) = OFF  THEN SUCC = 0:BNUS = 0
  219. 2190  IF DOWN > = 3  THEN BNUS = 0
  220. 2200 KB = KZ(THIS -3, FN A(3))
  221. 2210 GAIN =  FN A(KB) +SUCC +BNUS:YRUSH(AN) = YRUSH(AN) +GAIN: IF YARD(1) = AN  THEN 2330
  222. 2220 YSTGO = YSTGO -GAIN: IF YARD(2) -GAIN >50  THEN 2240
  223. 2230 YARD(2) = YARD(2) -GAIN: GOTO 2250
  224. 2240 YARD(1) = AN:YARD(2) = (50 -(YARD(2) -GAIN)) +50
  225. 2250 DOWN = DOWN +1: IF YARD(2) >0  THEN 2270
  226. 2260 YRUSH(AN) = YRUSH(AN) +YARD(2): GOTO 4030
  227. 2270 W$ = W1$: IF GAIN <0  THEN W$ = W2$
  228. 2280  IF GAIN <0  THEN GAIN =  ABS(GAIN)
  229. 2290  PRINT : PRINT "THE PLAY ";W$;" ";GAIN;" YARDS": PRINT "TO THE ";TEAM$(YARD(1));" ";YARD(2)
  230. 2300  IF YSTGO < = 0  THEN 3660
  231. 2310  GOSUB 570
  232. 2320  GOTO 1580
  233. 2330 DOWN = DOWN +1:YSTGO = YSTGO -GAIN: IF YARD(2) +GAIN < = 50  THEN 2370
  234. 2340 YARD(1) = OFF:YARD(2) = 50 -(GAIN +YARD(2) -50): IF YARD(2) >0  THEN 2360
  235. 2350 YRUSH(AN) = YRUSH(AN) +YARD(2): GOTO 4030
  236. 2360  GOTO 2380
  237. 2370 YARD(2) = YARD(2) +GAIN: IF YARD(2) < = 0  THEN 4030
  238. 2380 W$ = W1$: IF GAIN <0  THEN W$ = W2$
  239. 2390  IF GAIN <0  THEN GAIN =  ABS(GAIN)
  240. 2400  PRINT : PRINT "THE PLAY ";W$;" ";GAIN;" YARDS": PRINT "TO THE ";TEAM$(YARD(1));" ";YARD(2): IF YSTGO < = 0  THEN 3660
  241. 2410  GOSUB 570
  242. 2420  GOTO 1580
  243. 2430  REM 
  244. 2440  REM  ***PASS PLAY***
  245. 2450  REM 
  246. 2460 PASS =  FN A(100) -SUB(AN):SUB(AN) = SUB(AN) +1
  247. 2470 PZ = 0
  248. 2480  IF DOWN >2  AND THIS = 1  THEN PZ = PZ +2
  249. 2490  IF DOWN = 4  THEN PZ = PZ +5
  250. 2500 PASS(AN) = PASS(AN) +1: IF PASS >5  THEN 2640
  251. 2510  GOSUB 930
  252. 2520  REM 
  253. 2530  REM  **PASSER THROWN FOR A LOSS**
  254. 2540  REM 
  255. 2550 ITIME = ITIME -8 - FN A(9):HUDDL = 20:LOSS =  -3 - FN A(8):RPASS(AN) = RPASS(AN) +LOSS:DOWN = DOWN +1:YSTGO = YSTGO -LOSS
  256. 2560 VSAK(OFF) = VSAK(OFF) +1
  257. 2570  IF YARD(1) = OFF  THEN 2590
  258. 2580 YARD(2) = YARD(2) +LOSS: GOTO 2620
  259. 2590  IF YARD(2) -LOSS >50  THEN 2610
  260. 2600 YARD(2) = YARD(2) -LOSS: GOTO 2620
  261. 2610 YARD(1) = AN:YARD(2) = 50 -(YARD(2) -LOSS -50)
  262. 2620  IF YARD(2) < = 0  THEN 4140
  263. 2630 ALOS =  ABS(LOSS): PRINT : PRINT TEAM$(AN);" PASSER IS THROWN FOR A ": PRINT ALOS;" YARD LOSS TO THE ";TEAM$(YARD(1));" ";YARD(2): GOSUB 640: GOSUB 570: GOTO 1580
  264. 2640  IF THIS = 1  THEN TSS = 18 + FN A(25)
  265. 2650  IF THIS = 2  THEN TSS =  FN A(7) +3
  266. 2660  IF THIS = 3  THEN TSS =  -3
  267. 2670  IF PASS >9 +PZ  THEN 3000
  268. 2680  REM 
  269. 2690  REM  ***INTERCEPTED***
  270. 2700  REM 
  271. 2710 ZN = 1
  272. 2720 ITIME = ITIME -7 - FN A(10):NENT(OFF) = NENT(OFF) +1:HUDDL = 20:SET = AN:AN = OFF:OFF = SET: GOSUB 640:RNBK = 5 + FN A(30) +BNUS:TXIS = THIS:THIS = 0
  273. 2730  IF YARD(1) = OFF  THEN 2790
  274. 2740  IF TXIS = 3  AND YARD(2) > = 47  THEN 2780
  275. 2750 YARD(2) = YARD(2) -TSS: IF YARD(2) >0  THEN 2820
  276. 2760  PRINT : PRINT TEAM$(OFF);" PASS INTERCEPTED BY": PRINT TEAM$(AN);" IN THE END ZONE!": PRINT "AND THEY WILL START FROM THEIR OWN 20."
  277. 2770 YARD(1) = AN:YARD(2) = 20:DOWN = 1:YSTGO = 10: GOSUB 530: GOSUB 570: GOTO 1580
  278. 2780 YARD(2) = 50 -(YARD(2) -TSS -50):YARD(1) = OFF: GOTO 2820
  279. 2790  IF YARD(2) +TSS >50  THEN 2810
  280. 2800 YARD(2) = YARD(2) +TSS: GOTO 2820
  281. 2810 YARD(1) = AN:YARD(2) = 50 -(YARD(2) +TSS -50)
  282. 2820  PRINT : PRINT TEAM$(OFF);" PASS INTERCEPTED BY": PRINT TEAM$(AN);" AT THE ";TEAM$(YARD(1));" ";YARD(2)
  283. 2830  IF YARD(1) = AN  THEN 2850
  284. 2840 YARD(2) = YARD(2) -RNBK: GOTO 2880
  285. 2850  IF YARD(2) +RNBK >50  THEN 2870
  286. 2860 YARD(2) = YARD(2) +RNBK: GOTO 2880
  287. 2870 YARD(1) = OFF:YARD(2) = 50 -(YARD(2) +RNBK -50)
  288. 2880  IF YARD(2) >0  THEN  PRINT "AND RUN BACK ";RNBK;" YARDS": PRINT "TO THE ";TEAM$(YARD(1));" ";YARD(2)
  289. 2890  GOTO 2930
  290. 2900  GOSUB 800: IF YARD(2) >0  AND FUMBL < >1  THEN 2920
  291. 2910  GOSUB 530: GOSUB 570: GOTO 1580
  292. 2920  IF YARD(2) >0  THEN  GOSUB 930
  293. 2930  IF YARD(2) < = 0  AND YARD(1) = OFF  THEN  PRINT "AND RUN BACK FOR A"
  294. 2940  IF YARD(2) < = 0  AND YARD(1) = OFF  THEN 4030
  295. 2950 FIRST(AN) = FIRST(AN) -1: IF YARD(2) >0  THEN 3660
  296. 2960 YARD(1) = AN:YARD(2) = 20: PRINT "AND THEY START AT THEIR 20": GOTO 3660
  297. 2970  REM 
  298. 2980  REM  ***DETERMINES IF PASS COMPLETE***
  299. 2990  REM 
  300. 3000  IF THIS >1  THEN 3040
  301. 3010 COMPL = 67 +PZ
  302. 3020  IF DFS = 1  THEN COMPL = 79 +PZ
  303. 3030  GOTO 3080
  304. 3040  IF THIS >2  THEN 3070
  305. 3050 COMPL = 37: IF DFS = 2  THEN COMPL = 59
  306. 3060  GOTO 3080
  307. 3070 COMPL = 27: IF DFS = 3  THEN COMPL = 54
  308. 3080  IF PASS >COMPL  THEN 3160
  309. 3090  REM 
  310. 3100  REM  ***INCOMPLETE***
  311. 3110  REM 
  312. 3120 INCOMP = 1:ITIME = ITIME -3 - FN A(7):HUDDL = 0:DOWN = DOWN +1: PRINT : PRINT TEAM$(AN);" PASS INCOMPLETE": GOSUB 570: GOTO 1580
  313. 3130  REM 
  314. 3140  REM  ***COMPLETE***
  315. 3150  REM 
  316. 3160  IF THIS = 1  THEN GAIN = TSS + FN A(20)
  317. 3170  IF THIS = 2  THEN GAIN = TSS + FN A(8)
  318. 3180  IF THIS = 3  THEN GAIN = TSS + FN A(15)
  319. 3190  GOSUB 640:XBN = BNUS *2 -10: IF XBN >0  THEN GAIN = GAIN +XBN
  320. 3200 COMP(AN) = COMP(AN) +1:ITIME = (ITIME -7) - FN A(10):HUDDL = 20:RPASS(AN) = RPASS(AN) +GAIN
  321. 3210  IF YARD(1) = OFF  THEN 3260
  322. 3220  IF YARD(2) +GAIN >50  THEN 3240
  323. 3230 YARD(2) = YARD(2) +GAIN: GOTO 3280
  324. 3240 YARD(1) = OFF:YARD(2) = 50 -(YARD(2) +GAIN -50): IF YARD(2) >0  THEN 3280
  325. 3250  PRINT : PRINT TEAM$(AN);" PASS COMPLETE!!": GOTO 4030
  326. 3260 YARD(2) = YARD(2) -GAIN: IF YARD(2) >0  THEN 3280
  327. 3270  GOTO 3250
  328. 3280 W$ = W1$: IF GAIN <0  THEN W$ = W2$
  329. 3290  IF GAIN <0  THEN GAIN =  ABS(GAIN)
  330. 3300  PRINT : PRINT TEAM$(AN);" PASS COMPLETE!!": PRINT "PLAY ";W$;" ";GAIN;" YARDS": PRINT "TO THE ";TEAM$(YARD(1));" ";YARD(2)
  331. 3310  IF YARD(2) < = 0  THEN 4030
  332. 3320  IF W$ = W2$  THEN GAIN =  -GAIN
  333. 3330 YSTGO = YSTGO -GAIN: IF YSTGO < = 0  THEN 3660
  334. 3340 DOWN = DOWN +1: GOSUB 640: GOSUB 570: GOTO 1580
  335. 3350  REM 
  336. 3360  REM  ***PUNT OR QUICK KICK***
  337. 3370  REM 
  338. 3380 THIS = 8
  339. 3390  GOSUB 930:LNGTH =  FN A(25) +28 +SAFETY: IF DOWN = 4  AND THIS = 9  THEN THIS = 8
  340. 3400  IF SAFETY >0  THEN 3420
  341. 3410 PUNT(AN) = PUNT(AN) +1:YPUNT(AN) = YPUNT(AN) +LNGTH
  342. 3420 SAFETY = 0: IF THIS = 9  THEN LNGTH = LNGTH +2 + FN A(4)
  343. 3430 HUDDL = 0: IF LNGTH +YARD(2) >50  AND YARD(1) = AN  THEN 3490
  344. 3440  IF YARD(1) = AN  THEN 3480
  345. 3450 YARD(2) = YARD(2) -LNGTH: IF YARD(2) < = 0  THEN 3470
  346. 3460  GOTO 3500
  347. 3470 SET = AN:AN = OFF:OFF = SET:ITIME = ITIME - FN A(5): GOTO 1540
  348. 3480 YARD(2) = YARD(2) +LNGTH: GOTO 3500
  349. 3490 YARD(1) = OFF:YARD(2) = 50 -(YARD(2) +LNGTH -50): IF YARD(2) < = 0  THEN 3470
  350. 3500  PRINT :SET = AN:AN = OFF:OFF = SET: IF THIS = 9  THEN  PRINT TEAM$(OFF);" QUICK KICKS ";LNGTH;" YARDS": PRINT "TO THE ";TEAM$(YARD(1));" ";YARD(2)
  351. 3510  PRINT : IF THIS = 8  THEN  PRINT TEAM$(OFF);" PUNTS ";LNGTH;" YARDS": PRINT "TO THE ";TEAM$(YARD(1));" ";YARD(2)
  352. 3520  GOSUB 640:RTURN =  FN A(12) +BNUS: IF THIS = 9  THEN RTURN = RTURN -2 - FN A(3)
  353. 3530  IF RTURN <0  THEN RTURN = 0
  354. 3540 ITIME = (ITIME -7) - FN A(10): IF RTURN +YARD(2) >50  AND YARD(1) = AN  THEN 3610
  355. 3550  IF YARD(1) = AN  THEN YARD(2) = YARD(2) +RTURN
  356. 3560  IF YARD(1) = OFF  THEN YARD(2) = YARD(2) -RTURN
  357. 3570  PRINT : IF YARD(2) < = 0  THEN  PRINT TEAM$(AN);" RETURNS IT FOR A  "
  358. 3580  PRINT : IF YARD(2) < = 0  THEN 4030
  359. 3590  PRINT : PRINT TEAM$(AN);" RETURNS IT ";RTURN;" YARDS": PRINT "TO THE ";TEAM$(YARD(1));" ";YARD(2)
  360. 3600  GOSUB 640:FIRST(AN) = FIRST(AN) -1: GOTO 3660
  361. 3610 YARD(1) = OFF:YARD(2) = 50 -(YARD(2) +RTURN -50): IF YARD(2) < = 0  THEN 3570
  362. 3620  GOTO 3590
  363. 3630  REM 
  364. 3640  REM  ***FIRST DOWN***
  365. 3650  REM 
  366. 3660 DOWN = 1:FIRST(AN) = FIRST(AN) +1:YSTGO = 10
  367. 3670  IF YARD(1) = OFF  AND YARD(2) <10  THEN YSTGO = YARD(2)
  368. 3680  PRINT : PRINT "FIRST DOWN ON THE ";TEAM$(YARD(1));" ";YARD(2): GOSUB 530: GOSUB 570: GOSUB 580: GOTO 1580
  369. 3690  PRINT : PRINT "BALL TURNS OVER TO ";TEAM$(OFF): PRINT "ON DOWNS AT THE ";TEAM$(YARD(1));" ";YARD(2)
  370. 3700 HUDDL = 0:SET = AN:AN = OFF:OFF = SET: GOTO 3660
  371. 3710  REM 
  372. 3720  REM 
  373. 3740 FLD(AN) = FLD(AN) +1
  374. 3750  IF YARD(2) >0  THEN PROB = 90
  375. 3760  IF YARD(2) >20  THEN PROB = 80
  376. 3770  IF YARD(2) >30  THEN PROB = 45
  377. 3780  IF YARD(2) >40  THEN PROB = 25
  378. 3790  IF YARD(2) >AN  AND YARD(2) >40  THEN PROB = 10
  379. 3800  IF YARD(2) >AN  AND YARD(2) <40  THEN PROB = 2
  380. 3810  IF  FN A(100) <PROB  THEN 3920
  381. 3820  PRINT : PRINT "FIELD GOAL ATTEMPT FAILS,"
  382. 3830 SET = AN:AN = OFF:OFF = SET: IF YARD(1) = OFF  THEN 3880
  383. 3840  IF YARD(2) <20  THEN 3860
  384. 3850  PRINT : PRINT TEAM$(AN);" START FROM THE ";TEAM$(YARD(1));" ";YARD(2):YARD(1) = AN:DOWN = 1:YSTGO = 10:HUDDL = 0: FOR I = 1 TO 500: NEXT : GOSUB 530: GOSUB 570: GOTO 1580
  385. 3860  PRINT : PRINT TEAM$(AN);" START FROM THEIR OWN 20"
  386. 3870 YARD(1) = AN:YARD(2) = 20:DOWN = 1:YSTGO = 10:HUDDL = 0: GOSUB 530: GOSUB 570: GOTO 1580
  387. 3880 LNGTH = 39 + FN A(10):HUDDL = 0: PRINT : PRINT "THE KICK IS SHORT!"
  388. 3890  IF LNGTH +YARD(2) >50  THEN 3910
  389. 3900 YARD(2) = YARD(2) +LNGTH: GOTO 3520
  390. 3910 YARD(1) = AN:YARD(2) = 50 -(YARD(2) +LNGTH -50): GOTO 3520
  391. 3920  SPEED= 255:MADE(AN) = MADE(AN) +1: FLASH : PRINT : PRINT "*** FIELD GOAL *** FOR ";TEAM$(AN): NORMAL : SPEED= ISPD
  392. 3930 SCR(QTR,AN) = SCR(QTR,AN) +3
  393. 3940 L1 = 0:L2 = 0: FOR I = 1 TO QTR:L1 = L1 +SCR(I,1):L2 = L2 +SCR(I,2): NEXT : GOSUB 560
  394. 3950 SET = AN:AN = OFF:OFF = SET
  395. 3960  IF OVT = 1  THEN 4180
  396. 3970  IF ITIME <0  AND  FN B(QTR) = 0  THEN 4180
  397. 3980  GOTO 1410
  398. 3990  REM 
  399. 4000  REM  ***TOUCHDOWN***
  400. 4010  REM 
  401. 4020  PRINT TEAM$(AN);" RECEIVES THE KICK": PRINT "ON THEIR ";YDL;" YARD LINE": PRINT "AND RUNS IT BACK FOR A"
  402. 4030  SPEED= 255: FLASH : PRINT : PRINT "******* TOUCHDOWN ******* FOR ";TEAM$(AN): NORMAL : SPEED= ISPD
  403. 4040  IF THIS > = 1  AND THIS <4  THEN RPASS(AN) = RPASS(AN) +YARD(2)
  404. 4050  IF THIS > = 4  AND THIS <7  THEN YRUSH(AN) = YRUSH(AN) +YARD(2)
  405. 4060  IF THIS >0  THEN FIRST(AN) = FIRST(AN) +1
  406. 4070 SCR(QTR,AN) = SCR(QTR,AN) +6:HUDDL = 0: IF  FN A(100) <3  THEN 4090
  407. 4080 SCR(QTR,AN) = SCR(QTR,AN) +1: PRINT : PRINT "POINT AFTER GOOD!": GOTO 4100
  408. 4090  PRINT : PRINT "POINT AFTER FAILED"
  409. 4100  GOTO 3940
  410. 4110  REM 
  411. 4120  REM  ***SAFETY***
  412. 4130  REM 
  413. 4140 SCR(QTR,OFF) = SCR(QTR,OFF) +2: PRINT : PRINT TEAM$(AN);" IS CAUGHT FOR A SAFETY!"
  414. 4150 SAFETY = 20:L1 = 0:L2 = 0: FOR I = 1 TO QTR:L1 = L1 +SCR(I,1):L2 = L2 +SCR(I,2): NEXT 
  415. 4160  GOSUB 560: IF OVT = 1  THEN 4180
  416. 4170 ITIME = (ITIME -7) - FN A(5):YARD(1) = AN:YARD(2) = 20: GOTO 3380
  417. 4180 QTR = QTR +1:OQTR = QTR -1:THIS = 99:ITIME = 60 *15
  418. 4190  IF QTR = 5  THEN 4300
  419. 4200  IF QTR = 3  THEN 4220
  420. 4210  TEXT : HOME : VTAB 12: GOSUB 1300: PRINT "  END OF QUARTER ";OQTR;"  ";: GOSUB 1300: FOR I = 1 TO 1000: NEXT : GOSUB 250: GOTO 1580
  421. 4220  TEXT : HOME : GOSUB 1300: PRINT "END OF THE FIRST HALF";: GOSUB 1300: PRINT :TMOUT(1) = 3:TMOUT(2) = 3:WARN = 0
  422. 4230  IF BEGIN = 2  THEN 4250
  423. 4240 AN = 2:OFF = 1: GOTO 4260
  424. 4250 AN = 1:OFF = 2
  425. 4260 L1 = SCR(1,1) +SCR(2,1):L2 = SCR(1,2) +SCR(2,2)
  426. 4270  PRINT : PRINT "SCORE AT HALF TIME": PRINT TEAM$(1); TAB( 13);SCR(1,1); TAB( 17);SCR(2,1); TAB( 21);"-"; TAB( 25);L1
  427. 4280  PRINT TEAM$(2); TAB( 13);SCR(1,2); TAB( 17);SCR(2,2); TAB( 21);"-"; TAB( 25);L2
  428. 4290  PRINT : PRINT "STATISTICS AT HALFTIME": GOTO 4380
  429. 4300  TEXT : HOME : HTAB 5: GOSUB 1300: PRINT "  BANG!!  ";: GOSUB 1300: PRINT : PRINT  TAB( 6);"THAT'S THE END OF THE GAME!"
  430. 4310 L1 = SCR(1,1) +SCR(2,1) +SCR(3,1) +SCR(4,1):L2 = SCR(1,2) +SCR(2,2) +SCR(3,2) +SCR(4,2)
  431. 4320  PRINT : PRINT "FINAL SCORE AT THE FOOTBALL BOWL": PRINT TEAM$(1); TAB( 13);SCR(1,1); TAB( 17);SCR(2,1); TAB( 21);SCR(3,1); TAB( 25);SCR(4,1); TAB( 29);"-"; TAB( 33);L1
  432. 4330  PRINT TEAM$(2); TAB( 13);SCR(1,2); TAB( 17);SCR(2,2); TAB( 21);SCR(3,2); TAB( 25);SCR(4,2); TAB( 29);"-"; TAB( 33);L2
  433. 4340  REM 
  434. 4350  REM  ***STATISTICS***
  435. 4360  REM 
  436. 4370  PRINT : PRINT "FINAL STATISTICS"
  437. 4380 ZPLAY(1) = RUSH(1) +PASS(1) +LOSS(1):ZPLAY(2) = RUSH(2) +PASS(2) +LOSS(2)
  438. 4390 T1 = YRUSH(1) +RPASS(1):Y2 = YRUSH(2) +RPASS(2):X1R = 0:X2R = 0:P1X = 0:P2X = 0
  439. 4400  IF RUSH(1) >0  THEN X1R = YRUSH(1)/RUSH(1)
  440. 4410  IF RUSH(2) >0  THEN X2R = YRUSH(2)/RUSH(2)
  441. 4420  IF PASS(1) >0  THEN P1X = RPASS(1)/PASS(1)
  442. 4430  IF PASS(2) >0  THEN P2X = RPASS(2)/PASS(2)
  443. 4440 XPUNT(1) = 0:XPUNT(2) = 0: IF PUNT(1) >0  THEN XPUNT(1) = YPUNT(1)/PUNT(1)
  444. 4450  IF PUNT(2) >0  THEN XPUNT(2) = YPUNT(2)/PUNT(2)
  445. 4460  PRINT  TAB( 17);TEAM$(1); TAB( 28);TEAM$(2)
  446. 4470  PRINT "NO PLAYS"; TAB( 18);ZPLAY(1); TAB( 29);ZPLAY(2)
  447. 4480  PRINT "FIRST DOWNS"; TAB( 18);FIRST(1); TAB( 29);FIRST(2)
  448. 4490  PRINT "YARDS RUSH"; TAB( 18);YRUSH(1); TAB( 29);YRUSH(2)
  449. 4500  PRINT "AVER RUSH"; TAB( 18); FN Z(X1R); TAB( 29); FN Z(X2R)
  450. 4510  PRINT "COMP/ATT"; TAB( 18);COMP(1);"/";PASS(1); TAB( 29);COMP(2);"/";PASS(2)
  451. 4520  PRINT "YARDS PASS"; TAB( 18);RPASS(1); TAB( 29);RPASS(2)
  452. 4530  PRINT "AVER PASS"; TAB( 18); FN Z(P1X); TAB( 29); FN Z(P2X)
  453. 4540  PRINT "Q.B. SACKS"; TAB( 18);VSAK(1); TAB( 29);VSAK(2)
  454. 4550  PRINT "NO OF PUNTS"; TAB( 18);PUNT(1); TAB( 29);PUNT(2)
  455. 4560  PRINT "AVER YARDS/PUNT"; TAB( 18); FN Z(XPUNT(1)); TAB( 29); FN Z(XPUNT(2))
  456. 4570  PRINT "INTERCEPTIONS"; TAB( 18);NENT(1); TAB( 29);NENT(2)
  457. 4580  PRINT "FUMBL/RECOV"; TAB( 18);FUM(1);"/";RECO(1); TAB( 29);FUM(2);"/";RECO(2)
  458. 4590  PRINT "TOTAL YARDS"; TAB( 18);T1; TAB( 29);T2
  459. 4600  PRINT "FIELD GOALS"; TAB( 18);MADE(1);"-";FLD(1); TAB( 29);MADE(2);"-";FLD(2)
  460. 4610  PRINT "PENALTIES"; TAB( 18);NPEN(1);"-";PPEN(1); TAB( 29);NPEN(2);"-";PPEN(2)
  461. 4620  IF THIS < >12  THEN 4650
  462. 4630  PRINT : PRINT : SPEED= ISPD: PRINT "HIT ANY KEY TO CONTINUE ";: GET A$
  463. 4640  GOSUB 250: GOTO 1580
  464. 4650  IF OQTR < >2  THEN 1580
  465. 4660  PRINT : PRINT : PRINT "HIT ANY KEY TO CONTINUE ";: GET A$: GOTO 1400
  466. 4670  IF L1 < >L2  THEN 4740
  467. 4680  FOR I = 1 TO 2800: NEXT : HOME : VTAB 5: HTAB 4: PRINT "* * * *  O V E R T I M E  * * * *": VTAB 9: HTAB 5: PRINT "THE SCORE IS TIED AND THE GAME"
  468. 4690  PRINT : PRINT "MOVES TO A FIFTEEN MINUTE SUDDEN DEATH": PRINT : PRINT "OVERTIME PERIOD.  YOU HAVE TWO TIMEOUTS.": PRINT : PRINT "         G O O D   L U C K"
  469. 4700  FOR I = 1 TO 3000: NEXT 
  470. 4710 ITIME = 900:OQTR = OQTR -1:OVT = 1:QTR = QTR -1
  471. 4720 WARN = 0:TMOUT(1) = 2:TMOUT(2) = 2:TIMSET = 0
  472. 4730  GOTO 4770
  473. 4740  POKE 9,Z1: CLEAR :ALPHA = 1:Z1 =  PEEK(9)
  474. 4750  PRINT : INPUT "DO YOU WANT TO PLAY AGAIN? ";ANS$: IF  MID$ (ANS$,1,1) = "Y"  THEN 110
  475. 4760  SPEED= 255: END 
  476. 4770  TEXT : HOME 
  477. 4780  PRINT "*****************************************            FOOTBALL 3.0              **                 BY                   **         PRESTON R BLACK MD           **               AND                    *";
  478. 4790  PRINT "*         RICHARD I MORRIS JR          **                                      **  COPYRIGHT 1982 BY MICRO-SPARC, INC. *****************************************"
  479. 4800  IF HPL$ = "PLAYS"  THEN 4930
  480. 4810  POKE 34,10
  481. 4820  IF ALPHA = 1  THEN 5090
  482. 4830  IF OVT = 1  THEN 5100
  483. 4840  POKE 34,10: INPUT "DO YOU WANT INSTRUCTIONS? ";ANS$: IF  MID$ (ANS$,1,1) = "Y"  THEN 4860
  484. 4850  GOTO 5030
  485. 4860  PRINT "FOOTBALL 3.0 IS AN INTERACTIVE STRATEGY GAME WHICH ALLOWS YOU TO PIT YOUR SKILL AS THE COACH OF A FOOTBALL TEAM AGAINST THE APPLE II COMPUTER.  YOU CALL EACH   PLAY AS YOU MARCH YOUR TEAM UP AND DOWN"
  486. 4870  PRINT "THE FIELD. YOU HAVE YOUR CHOICE OF      THREE PASSING PLAYS AND FIVE RUNNING    PLAYS.  YOU ALSO HAVE A COMPLETE KICK-   ING GAME WHICH INCLUDES PUNTS, QUICK    KICKS AND FIELD GOAL ATTEMPTS,  BUT"
  487. 4880  PRINT "BEWARE!  IF YOU TRY A FIELD GOAL FROM   OUTSIDE THE TWENTY YARD LINE, THE BALL  WILL BE PLACED THERE IF YOU MISS. THERE ARE GAME BREAKING LONG RUNS AND LONG";: GET A$
  488. 4890  HOME 
  489. 4900  PRINT "BOMBS. THERE ARE FUMBLES, INTERCEPTIONS,QUARTERBACK SACKS, AND SAFETIES. THERE  ARE DRIVE STOPPING PENALTIES. YOU CAN   RUN YOUR TWO MINUTE DRILL BY USING YOUR TIME-OUTS WISELY. WHEN THE APPLE IS ON"
  490. 4910  PRINT "OFFENSE IT WILL CHOOSE PLAYS AUTOMATICALLY.  WHEN YOU ARE ON OFFENSE YOU WILL BEPROMPTED BY 'NEW PLAY' AND YOU CAN PICK ONE OF FIFTEEN OPTIONS.": PRINT : PRINT "THE CURRENT PLAYS ARE:";: GET A$
  491. 4920  PRINT 
  492. 4930  POKE 34,9: PRINT : SPEED= 255
  493. 4940  PRINT  TAB( 5);"LPASS"; TAB( 11);"- LONG PASSING PLAY": PRINT  TAB( 5);"SPASS"; TAB( 11);"- SHORT PASSING PLAY"
  494. 4950  PRINT  TAB( 5);"SCRN"; TAB( 11);"- SCREEN PASS"
  495. 4960  PRINT  TAB( 5);"MRUN"; TAB( 11);"- RUN UP THE MIDDLE": PRINT  TAB( 5);"OTRUN"; TAB( 11);"- OFF TACKLE RUN"
  496. 4970  PRINT  TAB( 5);"DRAW"; TAB( 11);"- DRAW PLAY": PRINT  TAB( 5);"SWEEP"; TAB( 11);"- A SWEEP"
  497. 4980  PRINT  TAB( 5);"PUNT"; TAB( 11);"- A PUNT"
  498. 4990  PRINT  TAB( 5);"QKKIK"; TAB( 11);"- A QUICK KICK": PRINT  TAB( 5);"FLDGL"; TAB( 11);"- A FIELD GOAL ATTEMPT"
  499. 5000  PRINT  TAB( 5);"STAT"; TAB( 11);"- LIST OF CURRENT STATISTICS": PRINT  TAB( 5);"TMOUT"; TAB( 11);"- TAKES A TIME-OUT": PRINT  TAB( 5);"PLAYS"; TAB( 11);"- LIST CURRENT PLAYS"; TAB( 40);: GET A$
  500. 5010  HOME : POKE 34,10: IF HPL$ > <"PLAYS"  THEN 5030
  501. 5020  GOSUB 250: GOTO 1580
  502. 5030  HOME : PRINT "IN ORDER TO INITIALIZE THE RANDOM": PRINT "NUMBER GENERATOR, PLEASE ENTER A ": INPUT "A NUMBER BETWEEN 1 AND 100: ";NN
  503. 5040  IF NN <1  OR NN >100  THEN 5030
  504. 5050  FOR I = 0 TO NN:X =  RND(1): NEXT 
  505. 5060  PRINT : PRINT "PLEASE ENTER A DISPLAY SPEED": PRINT "FROM 1 (VERY SLOW TYPING)": INPUT "TO 5 (VERY FAST TYPING): ";Z1
  506. 5070  IF Z1 > = 1  AND Z1 < = 5  THEN 5090
  507. 5080  VTAB 14: GOTO 5060
  508. 5090  PRINT : INPUT "WHAT IS THE NAME OF YOUR TEAM? ";TEAM$(2): PRINT : INPUT "WHAT TEAM IS THE APPLE II? ";TEAM$(1)
  509. 5100  HOME : PRINT "IT IS NOW TIME TO FLIP THE COIN": PRINT "AS THE CAPTAIN OF ";TEAM$(2);" YOU": PRINT "GET TO CALL IT ";: INPUT "HEADS OR TAILS: ";ACHOIC$
  510. 5110 FLIP =  FN A(2): IF FLIP = 1  THEN CHOICE$ = "H"
  511. 5120  IF FLIP = 2  THEN CHOICE$ = "T"
  512. 5130  IF  LEFT$(ACHOIC$,1) = CHOICE$  THEN 5150
  513. 5140 AN = 1:OFF = 2:BEGIN = AN: PRINT : PRINT "SORRY ";TEAM$(2);" BUT ";TEAM$(1): PRINT "WINS THE TOSS AND WILL RECEIVE!": GOTO 5160
  514. 5150 AN = 2:OFF = 1:BEGIN = AN: PRINT TEAM$(2);" WINS THE TOSS": PRINT "AND WILL RECEIVE!"
  515. 5160  FOR I = 1 TO 1000: NEXT :ISPD = 50 *Z1 +5: SPEED= ISPD: GOTO 1340